package com.mirror.utils.db;

import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import com.mirror.llk.utils.Sql;
import com.mirror.utils.base.BaseApplication;

/**
 * @Title: SQLITE数据库工具类
 * @Version: 1.0
 * @Author: QiYin
 * @Date: 2013-2-20
 * @Company: EmagSoftware
 */
public class DBHelper extends SQLiteOpenHelper {

	private static final String TAG = "DBHelper";

	/**
	 * 数据库版本 - 控制客户端数据库升级
	 */
	private static final int DB_VERSION = 2;

	/**
	 * 数据库名称
	 */
	private static String dbName = "llk";

	public DBHelper() {
		super(BaseApplication.getContext(), dbName, null, DB_VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		Log.i(TAG, "开始建立共用数据库表结构");
		db.beginTransaction();
		// 建立公用的数据库表结构
		try {
			// 建立主题表
			db.execSQL(Sql.CREATE.THEME);
			// 建立主题存档表
			db.execSQL(Sql.CREATE.THEME_HISTORY);
			// 设置事务完成
			db.setTransactionSuccessful();
			Log.i(TAG, "建立共用数据库表结构完成");
		}
		catch (SQLException e) {
			Log.e(TAG, "建立共用数据库表结构异常", e);
		}
		finally {
			db.endTransaction();
		}
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL(Sql.DROP.THEME);
		// 建立主题表
		db.execSQL(Sql.CREATE.THEME);
	}

	public void closeQuery(SQLiteDatabase database, Cursor cursor) {
		cursor.close();
		database.close();
	}

}
